import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  // 设置当根路径为 '/' 时强制跳转到 login页面
  // 重定向
  // {
  //   path: '/',
  //   redirect: '/login'
  // },
  // 如果根路径为 '/login' 跳转到login页面
  {
    path: '/login',
    name: 'login',
    // 模块懒加载 当根路径为 '/login' 时才会调用这个函数 否则函数不会被调用
    component: () => import('@/views/login/index.vue')
  },
  {
    path: '/',
    name: '/layout',
    component: () => import('@/views/layout/index.vue'),
    // 子路由
    children: [
      {
        path: '', // 设置默认子路由
        name: 'home',
        component: () => import('@/views/home/home.vue')
      },
      {
        path: 'qa',
        name: 'qa',
        component: () => import('@/views/qa/qa.vue')
      },
      {
        path: 'video',
        name: 'video',
        component: () => import('@/views/video/video.vue')
      },
      {
        path: 'my',
        name: 'my',
        component: () => import('@/views/my/my.vue')
      }
    ]
  },
  {
    path: '/search',
    name: 'search',
    // 模块懒加载 当根路径为 '/login' 时才会调用这个函数 否则函数不会被调用
    component: () => import('@/views/search/index.vue')
  },
  {
    path: '/article/:articleId',
    name: 'article',
    // 模块懒加载 当根路径为 '/article' 时才会调用这个函数 否则函数不会被调用
    component: () => import('@/views/article/index.vue'),
    props: true // 开启 props 传参，把路由参数映射到组件的 props 数据中
  }
]

const router = new VueRouter({
  routes
})

export default router
